function gui = createCameraLidarCalibrationResultsFigure(app)
    gui = struct();

    % Open a window and add some menus
    gui.handle = figure( ...
        'Name', 'CalibrationResults', ...
        'NumberTitle', 'off', ...
        'MenuBar', 'none', ...
        'ToolBar', 'none', ...
        'HandleVisibility', 'off', ...
        'Visible', 'off');

    gui.handle.SizeChangedFcn = @onSizeChanged;
    gui.mTableCalibrationResultsColumnWidthRatio = [0.3 0.3 0.3];

    % create an lidar points table to this figure
    gui.mTableCalibrationResults = uitable(...
                                    'Parent', gui.handle, ...
                                    'Data', {}, ...
                                    'Units', 'Normalized', ...
                                    'Position', [0 0 1 1]);
    gui.mTableCalibrationResults.RowName = [];
    gui.mTableCalibrationResults.ColumnName = [];
    gui.mTableCalibrationResults.ColumnFormat = {[], [], []};

    function onSizeChanged(src, callbackdata)
        gui.mTableCalibrationResults.Units = 'pixels';
        figureCurrentWidth = gui.mTableCalibrationResults.Position(3);
        gui.mTableCalibrationResults.Units = 'Normalized';
        gui.mTableCalibrationResults.ColumnWidth = {...
                                                    figureCurrentWidth * gui.mTableCalibrationResultsColumnWidthRatio(1) ...
                                                    figureCurrentWidth * gui.mTableCalibrationResultsColumnWidthRatio(2) ...
                                                    figureCurrentWidth * gui.mTableCalibrationResultsColumnWidthRatio(3)};
    end % onSizeChanged
end